草庐IT

Java Quartz 作业持久化

全部标签

javascript - 我应该保持我的 redis 连接持久吗?

我正在考虑将Redis用作我的API应用程序的键值存储。api基本上只需要一个到redis的客户端连接。我不确定的是我应该永远保持连接打开吗?或者我应该只在需要设置或从redis获取值时才打开连接?人们可能会认为打开连接是一项代价高昂的操作,因此从这个意义上讲,人们应该更喜欢永久连接。另一方面,保持连接始终打开不如仅在需要时才打开连接安全。而且,打开长时间打开的连接可能会导致超时。如果由于某种原因连接失败,redis会尝试重新连接吗?redis处理长时间打开的连接的能力如何?感谢您的帮助! 最佳答案 Redis自动连接取决于您使用的

nosql - memcached 类似具有磁盘持久性的软件

我有一个在UbuntuLinux12.04上运行的应用程序,它需要存储和检索大量大型序列化对象。目前存储是通过简单地将序列化流保存为文件来实现的,其中文件名等于序列化对象的md5哈希值。但是,我想加快速度,用一个对最近读/写的对象进行内存缓存的文件存储进行替换,并且最好为我进行哈希处理。我的应用程序的设计不应该变得更复杂。因此,最好是一个存储后端,以抽象和有效的方式管理键值数据库和缓存。我有点迷失了所有的键/值存储,而且很多主题/信息似乎已经过时了。我最初是在寻找类似memcached+membase的东西,但也许有更好的解决方案。我研究了redis、mongodb、couchdb,但

nosql - memcached 类似具有磁盘持久性的软件

我有一个在UbuntuLinux12.04上运行的应用程序,它需要存储和检索大量大型序列化对象。目前存储是通过简单地将序列化流保存为文件来实现的,其中文件名等于序列化对象的md5哈希值。但是,我想加快速度,用一个对最近读/写的对象进行内存缓存的文件存储进行替换,并且最好为我进行哈希处理。我的应用程序的设计不应该变得更复杂。因此,最好是一个存储后端,以抽象和有效的方式管理键值数据库和缓存。我有点迷失了所有的键/值存储,而且很多主题/信息似乎已经过时了。我最初是在寻找类似memcached+membase的东西,但也许有更好的解决方案。我研究了redis、mongodb、couchdb,但

ruby-on-rails - 使用 Resque 重新排队作业

我对使用Resque将工作分配到许多不同的计算机很感兴趣。不过我有一个担心。如果我需要杀死一名正在工作的worker,我希望能够让它自动重新排队该工作以确保它由另一名worker运行。我曾与DjangoCelery一起工作过,只是执行CTRL+C,这会杀死工作人员并重新排队任务。有没有办法让ResqueinRails发生这种情况?谢谢! 最佳答案 我刚刚弄明白了。我可以捕获信号项(CTRL-C)并强制它重新排队作业或告诉作业失败并让resque-retry稍后重新排队作业。例如:defself.perform(args)trap("

ruby-on-rails - 使用 Resque 重新排队作业

我对使用Resque将工作分配到许多不同的计算机很感兴趣。不过我有一个担心。如果我需要杀死一名正在工作的worker,我希望能够让它自动重新排队该工作以确保它由另一名worker运行。我曾与DjangoCelery一起工作过,只是执行CTRL+C,这会杀死工作人员并重新排队任务。有没有办法让ResqueinRails发生这种情况?谢谢! 最佳答案 我刚刚弄明白了。我可以捕获信号项(CTRL-C)并强制它重新排队作业或告诉作业失败并让resque-retry稍后重新排队作业。例如:defself.perform(args)trap("

redis - 如何使用 Redis 作为 Ember 数据存储的持久化?

如何使用Redis作为ember-data数据存储的后端?看来我可能需要一个自定义适配器? 最佳答案 由于Ember是一个客户端框架,我认为您需要两个适配器(服务器端和客户端)。事实上,Redis并非设计用于通过非安全网络直接访问。因此,如果您的客户端在浏览器中运行,您绝对需要客户端和Redis之间的服务器端中间层。一种可能是使用Webdis打包为服务器端适配器,然后调整JSON/RESTclient-sideadapter在Ember数据中提供以符合Webdis类REST协议(protocol)。

redis - 如何使用 Redis 作为 Ember 数据存储的持久化?

如何使用Redis作为ember-data数据存储的后端?看来我可能需要一个自定义适配器? 最佳答案 由于Ember是一个客户端框架,我认为您需要两个适配器(服务器端和客户端)。事实上,Redis并非设计用于通过非安全网络直接访问。因此,如果您的客户端在浏览器中运行,您绝对需要客户端和Redis之间的服务器端中间层。一种可能是使用Webdis打包为服务器端适配器,然后调整JSON/RESTclient-sideadapter在Ember数据中提供以符合Webdis类REST协议(protocol)。

ruby-on-rails - 如何设置 'workers' 服务器负责从另一台服务器运行作业

假设我们有2个服务器。一个app服务器,其中是http服务器,app服务器和应用程序,它将对世界开放。另一台服务器worker应该只运行Sidekiq作业(有应用程序、Redis和Sidekiq)。如何配置Sidekiq以从app服务器排队作业并在worker服务器中运行它们? 最佳答案 您的app服务器必须具有Sidekiqgem才能将作业排入队列,并且还可以访问位于worker服务器中的Redis数据库。我会使用现有的任何Redis云服务,让app服务器和worker服务器都可以访问它。无论哪种方式,您基本上都需要在app和wo

ruby-on-rails - 如何设置 'workers' 服务器负责从另一台服务器运行作业

假设我们有2个服务器。一个app服务器,其中是http服务器,app服务器和应用程序,它将对世界开放。另一台服务器worker应该只运行Sidekiq作业(有应用程序、Redis和Sidekiq)。如何配置Sidekiq以从app服务器排队作业并在worker服务器中运行它们? 最佳答案 您的app服务器必须具有Sidekiqgem才能将作业排入队列,并且还可以访问位于worker服务器中的Redis数据库。我会使用现有的任何Redis云服务,让app服务器和worker服务器都可以访问它。无论哪种方式,您基本上都需要在app和wo

ruby-on-rails - 查看 resque 作业是否仍在运行,如果卡住则将其杀死

我有一个应用程序使用resque来运行一些长时间运行的作业。有时需要8小时或更长时间才能完成。在作业失败的情况下,有没有办法监控resque本身,看看作业是否在运行?我知道我可以在数据库表(或redis本身)中更新作业的状态,但我想知道作业是否仍在运行,以便在必要时将其终止。我需要做的具体事情是:判断作业是否还在运行判断作业是否停止杀死卡住的作业 最佳答案 请求githubrepository有这个secretgem,god将执行此操作的任务:观察您的任务并杀死陈旧的任务。https://github.com/resque/resq